home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / programming / e / lsestuff / sl_test.e < prev    next >
Text File  |  1999-11-29  |  813b  |  37 lines

  1. MODULE '*smartList'
  2.  
  3. CONST NROFNODES=100
  4.  
  5. PROC main()
  6.    DEF sl:PTR TO smartList
  7.    DEF cpobj:sl_CPObj
  8.    DEF a
  9.    NEW sl
  10.    sl.smartList()
  11.  
  12.    WriteF('initing \d nodes..\n', NROFNODES)
  13.    FOR a := 0 TO (NROFNODES)-1
  14.       sl.add(FastNew(SIZEOF smartNode), (NROFNODES)-a)
  15.    ENDFOR
  16.    WriteF('counting nodes..')
  17.    WriteF('\d\n', sl.count())
  18.    sl.forEachCallProc({printnode}, cpobj)
  19.    WriteF('sorting..')
  20.    SystemTagList('date', NIL)
  21.    sl.sort()
  22.    SystemTagList('date', NIL)
  23.    sl.forEachCallProc({printnode}, cpobj)
  24.    sl.forEachCallProc({freenode}, cpobj)
  25.    END sl
  26. ENDPROC
  27.  
  28. PROC printnode(cpobj:PTR TO sl_CPObj)
  29.    DEF smartNode:PTR TO smartNode
  30.    smartNode := cpobj.node
  31.    WriteF(' \d\n', smartNode.id)
  32. ENDPROC
  33.  
  34. PROC freenode(cpobj:PTR TO sl_CPObj)
  35.    FastDispose(cpobj.node, SIZEOF smartNode)
  36. ENDPROC
  37.